Ext.namespace('pages.p2p.customer.posCode.cx.handle');

pages.p2p.customer.posCode.cx.handle.Main = function(config) {
	Ext.apply(this, config);
	this.initUIComponents();
	pages.p2p.customer.posCode.cx.handle.Main.superclass.constructor.call(this);
};

Ext.extend(pages.p2p.customer.posCode.cx.handle.Main, Ext.Panel, {
	/**
	 * 构造函数
	 */
	initUIComponents : function() {
		
		this.queryForm = new Ext.form.FormPanel({
			layout : 'column',
			region : 'north',
			labelWidth : 100,
			labelAlign : 'right',
			autoHeight :true,
			border : false,
			frame : false,
			items : [{
				columnWidth : 1,
				height : 10,
				border : false
			},{
				columnWidth : .25,
				layout : 'form',
				border : false,
				items : [{
					fieldLabel : 'POS单号',
					name : 'POS_CODE',
					id : 'POS_CODE',
					anchor : '96%',
					format : 'Y-m-d',
					xtype : 'textfield'
				}]
			}, {
				columnWidth : .25,
				layout : 'form',
				border : false,
				hidden : true,
				items : [{
					fieldLabel : '录入人员',
					name : 'OPER_USER_ID',
					id : 'OPER_USER_ID',
					anchor : '96%',
					format : 'Y-m-d',
					xtype : 'textfield'
				}]
			},{
				columnWidth : .25,
				layout : 'form',
				border : false,
				items : [ {
					fieldLabel : 'POS单号客户姓名',
					name : 'POS_OWNER_USER_ID',
					id : 'POS_OWNER_USER_ID',
					anchor : '96%',
					xtype : 'textfield'
				} ]
			},{
				columnWidth : .25,
				layout : 'form',
				border : false,
				items : [ {
					fieldLabel : '客户手机号码',
					name : 'POS_OWNER_SJHM',
					id : 'POS_OWNER_SJHM',
					anchor : '96%',
					xtype : 'textfield'
				} ]
			},{
				columnWidth : .25,
				layout : 'form',
				border : false,
				items : [ new Ext.form.ComboBox({
					fieldLabel : '撤销状态',
					name : 'CX_STATE',
					id : 'CX_STATE',
					anchor : '98%',
					store : new Ext.data.SimpleStore({
						fields : [ 'VALUE', 'TEXT' ],
						data : [ [ '00', '待审核' ] ,[ '01', '总部审核通过' ] ,[ '02', '总部审核失败' ],[ '', '全部' ]]
					}),
					valueField : 'VALUE',
					displayField : 'TEXT',
					hiddenName : 'CX_STATE_VALUE',
					triggerAction : 'all',
					mode : 'local',
					editable : false,
					selectOnFocus : true,
					value : '00'
				}) ]
			}]
		});
		this.store = new Ext.data.Store({
			proxy : new Ext.data.HttpProxy({
				url : ExtJ.getActionPath('/pos/cxPosTzrxxZbsh.do')
			}),
			remoteSort : true,
			reader : new Ext.data.JsonReader({
				root : 'data',
				totalProperty : 'total',
				id : 'ID'
			}, [{
				name : 'ID',
				mapping : 'ID'
			},{
				name : 'POS_CODE',
				mapping : 'POS_CODE'
			},{
				name : 'OPER_USER_ID',
				mapping : 'OPER_USER_ID'
			},{
				name : 'OPER_DATE',
				mapping : 'OPER_DATE'
			},{
				name : 'POS_OWNER_USER_ID',
				mapping : 'POS_OWNER_USER_ID'
			},{
				name : 'POS_OWNER_SJHM',
				mapping : 'POS_OWNER_SJHM'
			},{
				name : 'POS_CONTENT',
				mapping : 'POS_CONTENT'
			},{
				name : 'POS_STATE',
				mapping : 'POS_STATE'
			},{
				name : 'POS_MONEY',
				mapping : 'POS_MONEY'
			},{
				name : 'POS_BIZ_GYH',
				mapping : 'POS_BIZ_GYH'
			},{
				name : 'POS_PLATFORM',
				mapping : 'POS_PLATFORM'
			},{
				name : 'POS_CUSTOMER_SEX',
				mapping : 'POS_CUSTOMER_SEX'
			},{
				name : 'POS_CUSTOMER_SFZ',
				mapping : 'POS_CUSTOMER_SFZ'
			},{
				name : 'POS_CUSTOMER_HK_YHMC',
				mapping : 'POS_CUSTOMER_HK_YHMC'
			},{
				name : 'POS_CUSTOMER_HK_CARD_NUM',
				mapping : 'POS_CUSTOMER_HK_CARD_NUM'
			},{
				name : 'SH_USER_ID',
				mapping : 'SH_USER_ID'
			},{
				name : 'SH_DATE',
				mapping : 'SH_DATE'
			},{
				name : 'SH_CONTENT',
				mapping : 'SH_CONTENT'
			},{
				name : 'XMMC',
				mapping : 'XMMC'
			},{
				name : 'SJSYL',
				mapping : 'SJSYL'
			},{
				name : 'SJSYL_SHOW',
				mapping : 'SJSYL_SHOW'
			},{
				name : 'JE',
				mapping : 'JE'
			},{
				name : 'QX',
				mapping : 'QX'
			},{
				name : 'FBSJ',
				mapping : 'FBSJ'
			},{
				name : 'MJQ',
				mapping : 'MJQ'
			},{
				name : 'JXRQ',
				mapping : 'JXRQ'
			},{
				name : 'FB_SQ_USER_ID',
				mapping : 'FB_SQ_USER_ID'
			},{
				name : 'FB_SQ_DATE',
				mapping : 'FB_SQ_DATE'
			},{
				name : 'FB_SQ_CONTENT',
				mapping : 'FB_SQ_CONTENT'
			},{
				name : 'ZB_SH_USER_ID',
				mapping : 'ZB_SH_USER_ID'
			},{
				name : 'ZB_SH_DATE',
				mapping : 'ZB_SH_DATE'
			},{
				name : 'ZB_SH_CONTENT',
				mapping : 'ZB_SH_CONTENT'
			},{
				name : 'CX_STATE',
				mapping : 'CX_STATE'
			}])
		});
		var sm = new Ext.grid.CheckboxSelectionModel({singleSelect:true,
			listeners : {
			'rowselect' : function(sm,rowIndex,record){
				var pos_state = record.get("CX_STATE");
				if('00' == pos_state){
					Ext.getCmp('btn_cxsh').setDisabled(false);
				}else{
					Ext.getCmp('btn_cxsh').setDisabled(true);
				}
			}
		}
			
		});
		
		var cm = new Ext.grid.ColumnModel([sm,new Ext.grid.RowNumberer(),{
				header : 'ID',
				width : 100,
				sortable : true,
				hidden:true,
				dataIndex : 'ID'
			},{
				header : 'POS单号',
				width : 120,
				sortable : true,
				dataIndex : 'POS_CODE'
			},{
				header : '撤销状态',
				width : 75,
				sortable : true,
				dataIndex : 'CX_STATE',
				renderer : function(value){
					if("00" == value){
						return "待审核";
					}else if("01" == value){
						return "审核通过";
					}else if("02" == value){
						return "审核失败";
					}else{
						return value;
					}
				}
			},{
				header : '录入人员',
				width : 120,
				sortable : true,
				dataIndex : 'OPER_USER_ID'
			},{
				header : 'POS金额',
				width : 60,
				sortable : true,
				dataIndex : 'POS_MONEY'
			},{
				header : '录入时间',
				width : 150,
				sortable : true,
				dataIndex : 'OPER_DATE'
			},{
				header : '审核状态',
				width : 120,
				sortable : true,
				dataIndex : 'POS_STATE',
				renderer:this.renderState.createDelegate(this)
			},{
				header : '备注',
				width : 150,
				sortable : true,
				dataIndex : 'POS_CONTENT'
			},{
				header : 'POS平台',
				width : 75,
				sortable : true,
				dataIndex : 'POS_PLATFORM',
				renderer : function(value){
					if("00"==value){
						return "未知";
					}else if("01"==value){
						return "通联";
					}else if("02"==value){
						return "银盛";
					}else{
						return value;
					}
				}
			},{
				header : '客户姓名',
				width : 90,
				sortable : true,
				dataIndex : 'POS_OWNER_USER_ID'
			},{
				header : '客户手机号码',
				width : 150,
				sortable : true,
				dataIndex : 'POS_OWNER_SJHM'
			},{
				header : '客户性别',
				width : 120,
				sortable : true,
				dataIndex : 'POS_CUSTOMER_SEX',
				renderer : function(value){
					if("00"==value){
						return "未知";
					}else if("01"==value){
						return "男";
					}else if("02"==value){
						return "女";
					}else{
						return value;
					}
				}
			},{
				header : '客户身份证号码',
				width : 150,
				sortable : true,
				dataIndex : 'POS_CUSTOMER_SFZ'
			},{
				header : '客户回款银行名称',
				width : 150,
				sortable : true,
				dataIndex : 'POS_CUSTOMER_HK_YHMC'
			},{
				header : '客户回款银行卡号码',
				width : 150,
				sortable : true,
				dataIndex : 'POS_CUSTOMER_HK_CARD_NUM'
			},{
				header : '客户来源',
				width : 75,
				sortable : true,
				dataIndex : 'POS_CUSTOMER_LY',
				renderer : function(value){
					if("00"==value){
						return "未知";
					}else if("01"==value){
						return "陌生拜访";
					}else if("02"==value){
						return "驻点";
					}else if("03"==value){
						return "缘故";
					}else if("04"==value){
						return "转介绍";
					}else{
						return value;
					}
				}
			},{
				header : '客户经理员工号',
				width : 120,
				sortable : true,
				dataIndex : 'POS_BIZ_GYH'
			},{
				header : '分公司财务审核员',
				width : 120,
				sortable : true,
				dataIndex : 'SH_USER_ID'
			},{
				header : '分公司财务审核日期',
				width : 150,
				sortable : true,
				dataIndex : 'SH_DATE'
			},{
				header : '分公司财务审核内容',
				width : 120,
				sortable : true,
				dataIndex : 'SH_CONTENT'
			},{
				header : '分公司财务撤销操作员',
				width : 150,
				sortable : true,
				dataIndex : 'FB_SQ_USER_ID'
			},{
				header : '分公司财务撤销日期',
				width : 150,
				sortable : true,
				dataIndex : 'FB_SQ_DATE'
			},{
				header : '分公司财务撤销申请原因',
				width : 150,
				sortable : true,
				dataIndex : 'SH_CONTENT'
			},{
				header : '总部财务撤销审核操作员',
				width : 120,
				sortable : true,
				dataIndex : 'ZB_SH_USER_ID'
			},{
				header : '总部财务撤销审核日期',
				width : 150,
				sortable : true,
				dataIndex : 'ZB_SH_DATE'
			},{
				header : '分公司财务撤销原因',
				width : 150,
				sortable : true,
				dataIndex : 'ZB_SH_CONTENT'
			}]);
		/**
		 * GridPanel
		 */
		this.grid = new Ext.grid.GridPanel({
			id : 'grid',
			region : 'center',
			store : this.store,
			border : true,
			frame : false,
			viewConfig : {
				autoFill : false,
	    	    forceFit : false,
	    	    focusRow : function(){
	    	    	return;
	    	    },
	    	    getRowClass : function(record, rowIndex, rowParams, store){
	    	    	if (record.get("TOP_LEVEL") == "1") {
				        return 'ux-grid-record-onTop';
				    }
	    	    }
			},
			sm : sm,
			cm : cm,
			tbar : [{				
				id : 'query',
				iconCls : 'query',
				text : '查询',
				handler : this.onQuery.createDelegate(this)
			},'-', {
				id : 'clear',
				iconCls : 'reset',
				text : '重置',
				handler : this.onReset.createDelegate(this)
			},'-', {
				id : 'btn_cxsh',
				iconCls : 'sh_db',
				text : '撤销审核',
				handler : this.onCxsh.createDelegate(this)
			}],
			bbar : new Ext.PagingToolbar({
				pageSize : pageSize,
				store : this.store,
				displayInfo : true,
				displayMsg : '当前显示第 {0} - {1} 条 / 共 {2} 条',
				emptyMsg : "没有记录"
			})
		});
		
		Ext.apply(this, {
			closeAction : 'close',
			layout : 'border',
			border : false,
			listeners : {
				'render' : this.initData.createDelegate(this)
			},
			items : [this.queryForm,this.grid]
		})
	},
	initData : function(){
		this.onQuery();
	},
	onQuery : function(){
		Ext.getBody().mask("正在查询,请稍候...");
		var POS_CODE = Ext.getCmp('POS_CODE').getValue();
		var POS_OWNER_USER_ID = Ext.getCmp('POS_OWNER_USER_ID').getValue();
		var POS_OWNER_SJHM = Ext.getCmp('POS_OWNER_SJHM').getValue();
		var CX_STATE = Ext.getCmp('CX_STATE').getValue();
		this.store.baseParams.POS_CODE = POS_CODE;
		this.store.baseParams.POS_OWNER_USER_ID = POS_OWNER_USER_ID;
		this.store.baseParams.POS_OWNER_SJHM = POS_OWNER_SJHM;
		this.store.baseParams.CX_STATE = CX_STATE;
		this.store.reload({
			params : {
				start : 0,
				limit : pageSize
			},
			callback : function() {
				Ext.getBody().unmask(true);
			}
		});
	},
	
	onReset : function(){
		this.queryForm.getForm().reset();
	},
	
	/*onCxsh : function(){
		var record = this.grid.getSelectionModel().getSelected();
		if (!record) {
			ExtJ.showMessage("请选择一条需要查看的记录!");
			return;
		}
		var bizId = record.get("ID");
		Ext.Msg.confirm("确认","你确定要删除信息吗?",function(fn){
			if(fn == 'yes'){
				Ext.getBody().mask("正在处理,请稍候...");
//				Ext.Ajax.request({
//					url : ExtJ.getActionPath("/pos/deletePos.do"),
//					params : {
//						bizId : bizId
//					},
//					callback : function(options, suc, response) {
//						if (suc) {
//							var text = Ext.decode(response.responseText);
//							if(text.isDeleteSuc){
//								Ext.Msg.alert("提示:", "操作成功!");
//							}else{
//								Ext.Msg.alert("提示:",text.msg);
//							}
//							Ext.getCmp('grid').getStore().reload();
//							Ext.getBody().unmask(true);
//						}
//					}.createDelegate(this)
//				});
			}
		}.createDelegate(this));
	},*/
	
	
	renderState:function(value) {
		if(value == '00' ){
			return '未验证';
		}else if(value == '01'){
			return '已验证使用，待审核';
		}
		else if(value == '02'){
			return '审核成功';
		}else if(value == '03'){
			return '审核失败';
		}
	},
	
	onCxsh:function(){
		var isClick = this.grid.getSelectionModel().getSelected();
		if(isClick){
			var win = new pages.p2p.customer.posCode.cx.handle.Cxhandle({
				infos : isClick
			});
			win.show();
		}else{
			Ext.Msg.alert("提示","请选择一条记录",function(){
				return;
			});
		}
	}
});